package com.exception;

public class Test {
    public static void main(String[] args) {

        /*

        Throwable 最高级 然后就是Exception 和 Error

        捕获多个异常：从小到大捕获
         */


        int a = 1;
        int b = 0;


        try {
            new Test().test(a, b);
        } catch (ArithmeticException e) {
            throw new RuntimeException(e);
        } finally {
        }


       /*
        try {//监控区域
            System.out.println(a/b);
        }catch (Error e) {
            System.out.println("Error");
        }catch (Exception e){
            System.out.println("Exception");
        }catch (Throwable e){
            System.out.println("Throwable");
        }finally {
            //可以不要finally
            System.out.println("finally");
        }
        */
    }

    //假设这个方法中处理不了这个异常。方法上主动抛出
   public static void test(int a,int b ) throws ArithmeticException{
       //主动抛出异常 一般在方法中使用
       if (b== 0){
           throw new ArithmeticException();
       }
   }
}
